The networked computing environment (e.g., cloud computing environment) is an enhancement to the predecessor grid environment, whereby multiple grids and other computation resources may be further enhanced by one or more additional abstraction layers (e.g., a cloud layer), thus making disparate devices appear to an end-consumer as a single pool of seamless resources. These resources may include such things as physical or logical computing engines, servers and devices, device memory, and storage devices, among others.
One advantage of cloud computing environments is that users and developers often have tools to enable the creation and/or utilization of services. Sometimes, such tools can condense the period of time involved in the creation and/or utilization of these services. One service typical of the cloud computing environment is data storage. In some forms of cloud-based data storage, the data is managed as objects. Each object typically includes the data itself, a variable amount of metadata, and/or a globally unique identifier. Object storage can be implemented at multiple levels, including the device level (object storage device), the system level, and the interface level.
Some forms of cloud-based object storage may replicate stored objects in order to provide greater reliability of the storage. In replicated or redundant object storage, copies of objects are created and/or placed across a set of storage devices. These objects can be placed intelligently, which can involve placing the redundant objects as uniquely as possible (e.g., different racks, different systems, different drives). Unique placement can permit greater reliability in the event of a failure in a single storage device, because in such an event, a copy of the object should remain available on one or more different storage devices.